why do software engineers work so little